home *** CD-ROM | disk | FTP | other *** search
/ The Sunday Times: The Month 2004 August / The Sunday Times - The Month 2004-08.iso / pc / engine / swf / text_pages.swf / scripts / DefineSprite_63 / frame_1 / DoAction.as
Encoding:
Text File  |  2004-06-23  |  4.1 KB  |  177 lines

  1. function disableArrows()
  2. {
  3.    mArrow_prev.enabled = false;
  4.    mArrow_next.enabled = false;
  5.    delete mArrow_prev.onRelease;
  6.    delete mArrow_next.onRelease;
  7. }
  8. function enableArrows(pageNumber)
  9. {
  10.    clearInterval(enableArrowsInt);
  11.    mArrow_prev.enabled = true;
  12.    mArrow_next.enabled = true;
  13.    mArrow_prev.onRelease = function()
  14.    {
  15.       navigateTo(pageNumber - 1);
  16.       this.colour.setRGB(COLOR_UP);
  17.    };
  18.    mArrow_next.onRelease = function()
  19.    {
  20.       navigateTo(pageNumber + 1);
  21.       this.colour.setRGB(COLOR_UP);
  22.    };
  23. }
  24. COLOR_UP = 12235927;
  25. COLOR_OVER = 8287827;
  26. setColourUp = function(colourValue)
  27. {
  28.    txtPage.htmlText = _parent.nodeData.byName("labels").byName("page").getText();
  29.    txtPage.autoSize = "left";
  30.    this.COLOUR_UP = colourValue;
  31.    txtPage.textColor = COLOR_UP;
  32. };
  33. setColourOver = function(colourValue)
  34. {
  35.    this.COLOUR_OVER = colourValue;
  36. };
  37. setTotalPages = function(totalPages)
  38. {
  39.    this.totalPages = totalPages;
  40.    var i = 0;
  41.    while(i < totalPages)
  42.    {
  43.       if(i == 0)
  44.       {
  45.          var mc = mNumber_0;
  46.       }
  47.       else
  48.       {
  49.          duplicateMovieClip(mNumber_0,"mNumber_" + i,16384 + (10 + i));
  50.          mc = this["mNumber_" + i];
  51.       }
  52.       mc.value = i + 1;
  53.       mc._visible = 0;
  54.       mc.colour = new Color(mc);
  55.       mc.colour.setRGB(COLOR_UP);
  56.       if(i == 9)
  57.       {
  58.          xPos = 0;
  59.       }
  60.       else
  61.       {
  62.          xPos = mc._x + mc._width;
  63.       }
  64.       i++;
  65.    }
  66.    adjustWidths();
  67.    setupArrows();
  68.    setCurrentPage(1);
  69. };
  70. setupArrows = function()
  71. {
  72.    mArrow_prev.colour = new Color(mArrow_prev);
  73.    mArrow_prev.colour.setRGB(COLOR_UP);
  74.    mArrow_next.colour = new Color(mArrow_next);
  75.    mArrow_next.colour.setRGB(COLOR_UP);
  76.    mArrow_prev.onRollOver = function()
  77.    {
  78.       this.colour.setRGB(COLOR_OVER);
  79.    };
  80.    mArrow_prev.onRollOut = function()
  81.    {
  82.       this.colour.setRGB(COLOR_UP);
  83.    };
  84.    mArrow_next.onRollOver = function()
  85.    {
  86.       this.colour.setRGB(COLOR_OVER);
  87.    };
  88.    mArrow_next.onRollOut = function()
  89.    {
  90.       this.colour.setRGB(COLOR_UP);
  91.    };
  92. };
  93. setCurrentPage = function(pageNumber)
  94. {
  95.    var i = 0;
  96.    while(i < 10)
  97.    {
  98.       this["mNumber_" + i]._visible = pageNumber > 10 ? 0 : 1;
  99.       i++;
  100.    }
  101.    var i = 10;
  102.    while(i < 20)
  103.    {
  104.       this["mNumber_" + i]._visible = !(pageNumber > 10 && pageNumber <= 20) ? 0 : 1;
  105.       i++;
  106.    }
  107.    var i = 20;
  108.    while(i < 30)
  109.    {
  110.       this["mNumber_" + i]._visible = pageNumber <= 20 ? 0 : 1;
  111.       i++;
  112.    }
  113.    var i = 0;
  114.    while(i < totalPages)
  115.    {
  116.       var mc = this["mNumber_" + i];
  117.       if(pageNumber == i + 1)
  118.       {
  119.          mc.colour.setRGB(COLOR_OVER);
  120.          _parent.currentPageNumber = pageNumber;
  121.          delete mc.onRelease;
  122.          delete mc.onRollOver;
  123.          delete mc.onRollOut;
  124.       }
  125.       else
  126.       {
  127.          mc.colour.setRGB(COLOR_UP);
  128.          mc.onRelease = function()
  129.          {
  130.             navigateTo(this.value);
  131.          };
  132.          mc.onRollOver = function()
  133.          {
  134.             this.colour.setRGB(COLOR_OVER);
  135.          };
  136.          mc.onRollOut = function()
  137.          {
  138.             this.colour.setRGB(COLOR_UP);
  139.          };
  140.       }
  141.       if(mc._visible)
  142.       {
  143.          var lastVisibleNumber = mc;
  144.       }
  145.       i++;
  146.    }
  147.    mArrow_next._x = lastVisibleNumber._x + lastVisibleNumber.txtValue.textWidth + 6;
  148.    mArrow_next._visible = pageNumber >= totalPages ? false : true;
  149.    mArrow_prev._visible = pageNumber <= 1 ? false : true;
  150.    disableArrows();
  151.    clearInterval(enableArrowsInt);
  152.    enableArrowsInt = setInterval(enableArrows,200,pageNumber);
  153.    adjustWidths();
  154. };
  155. adjustWidths = function()
  156. {
  157.    var xPos = txtPage._width + 11;
  158.    var i = 0;
  159.    while(i < totalPages)
  160.    {
  161.       this["mNumber_" + i]._x = xPos;
  162.       if(i == 9 || i == 19)
  163.       {
  164.          xPos = txtPage._width + 11;
  165.       }
  166.       else
  167.       {
  168.          xPos = this["mNumber_" + i]._x + this["mNumber_" + i].txtValue.textWidth + 3;
  169.       }
  170.       i++;
  171.    }
  172. };
  173. navigateTo = function(number)
  174. {
  175.    _parent.navigateTo(number);
  176. };
  177.